package com.cictec.middleware.core.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import com.cictec.middleware.core.entity.pojo.ZoneFenceEntity;
import com.vividsolutions.jts.geom.Geometry;

/**
 * 报警设置围栏信息
 * @author ql
 */
@Table(name = "t_warn_zone")
public class SystemWarnSettingZone implements Serializable {
	
	private static final long serialVersionUID = -5246257006778821972L;
	/** 报警设置时间信息 */
	@Transient
	private List<SystemWarnSettingZoneTime> zoneTimes = new ArrayList<SystemWarnSettingZoneTime>();
	/** 报警设置围栏信息-位置点 */
	@Transient
	private List<ZoneFenceEntity> points = new ArrayList<ZoneFenceEntity>();

	/** 围栏信息（数据加载时候初始化，以便在使用时候不用重复生成围栏）*/
	@Transient
	private Geometry zoneFence;
	/** 围栏信息（数据加载时候初始化，以便在使用时候不用重复生成围栏）*/
    public Geometry getZoneFence() {
		return zoneFence;
	}
    /** 围栏信息（数据加载时候初始化，以便在使用时候不用重复生成围栏）*/
	public void setZoneFence(Geometry zoneFence) {
		this.zoneFence = zoneFence;
	}
	/** 报警设置时间信息 */
	public List<SystemWarnSettingZoneTime> getZoneTimes() {
		return zoneTimes;
	}
	/** 报警设置时间信息 */
	public void setZoneTimes(List<SystemWarnSettingZoneTime> zoneTimes) {
		this.zoneTimes = zoneTimes;
	}
	/** 报警设置围栏信息-位置点 */
	public List<ZoneFenceEntity> getPoints() {
		return points;
	}
	/** 报警设置围栏信息-位置点 */
	public void setPoints(List<ZoneFenceEntity> points) {
		this.points = points;
	}

	@Id
    @Column(name = "wz_uuid")
    private String wzUuid;

    /**
     * 主表t_sys_warn主键
     */
    @Column(name = "wz_sw_uuid")
    private String wzSwUuid;

    /**
     * 区域名称
     */
    @Column(name = "wz_zone_name")
    private String wzZoneName;

    /**
     * 线路id
     */
    @Column(name = "wz_line_uuid_up")
    private String wzLineUuidUp;

    /**
     * 线路名称
     */
    @Column(name = "wz_line_name_up")
    private String wzLineNameUp;

    @Column(name = "wz_create_time")
    private Date wzCreateTime;

    @Column(name = "wz_update_time")
    private Date wzUpdateTime;

    @Column(name = "wz_line_uuid_down")
    private String wzLineUuidDown;

    @Column(name = "wz_line_name_down")
    private String wzLineNameDown;

    @Column(name = "line_id")
    private String lineId;

    @Column(name = "line_name")
    private String lineName;

    /**
     * @return wz_uuid
     */
    public String getWzUuid() {
        return wzUuid;
    }

    /**
     * @param wzUuid
     */
    public void setWzUuid(String wzUuid) {
        this.wzUuid = wzUuid;
    }

    /**
     * 获取主表t_sys_warn主键
     *
     * @return wz_sw_uuid - 主表t_sys_warn主键
     */
    public String getWzSwUuid() {
        return wzSwUuid;
    }

    /**
     * 设置主表t_sys_warn主键
     *
     * @param wzSwUuid 主表t_sys_warn主键
     */
    public void setWzSwUuid(String wzSwUuid) {
        this.wzSwUuid = wzSwUuid;
    }

    /**
     * 获取区域名称
     *
     * @return wz_zone_name - 区域名称
     */
    public String getWzZoneName() {
        return wzZoneName;
    }

    /**
     * 设置区域名称
     *
     * @param wzZoneName 区域名称
     */
    public void setWzZoneName(String wzZoneName) {
        this.wzZoneName = wzZoneName;
    }

    /**
     * 获取线路id
     *
     * @return wz_line_uuid_up - 线路id
     */
    public String getWzLineUuidUp() {
        return wzLineUuidUp;
    }

    /**
     * 设置线路id
     *
     * @param wzLineUuidUp 线路id
     */
    public void setWzLineUuidUp(String wzLineUuidUp) {
        this.wzLineUuidUp = wzLineUuidUp;
    }

    /**
     * 获取线路名称
     *
     * @return wz_line_name_up - 线路名称
     */
    public String getWzLineNameUp() {
        return wzLineNameUp;
    }

    /**
     * 设置线路名称
     *
     * @param wzLineNameUp 线路名称
     */
    public void setWzLineNameUp(String wzLineNameUp) {
        this.wzLineNameUp = wzLineNameUp;
    }

    /**
     * @return wz_create_time
     */
    public Date getWzCreateTime() {
        return wzCreateTime;
    }

    /**
     * @param wzCreateTime
     */
    public void setWzCreateTime(Date wzCreateTime) {
        this.wzCreateTime = wzCreateTime;
    }

    /**
     * @return wz_update_time
     */
    public Date getWzUpdateTime() {
        return wzUpdateTime;
    }

    /**
     * @param wzUpdateTime
     */
    public void setWzUpdateTime(Date wzUpdateTime) {
        this.wzUpdateTime = wzUpdateTime;
    }

    /**
     * @return wz_line_uuid_down
     */
    public String getWzLineUuidDown() {
        return wzLineUuidDown;
    }

    /**
     * @param wzLineUuidDown
     */
    public void setWzLineUuidDown(String wzLineUuidDown) {
        this.wzLineUuidDown = wzLineUuidDown;
    }

    /**
     * @return wz_line_name_down
     */
    public String getWzLineNameDown() {
        return wzLineNameDown;
    }

    /**
     * @param wzLineNameDown
     */
    public void setWzLineNameDown(String wzLineNameDown) {
        this.wzLineNameDown = wzLineNameDown;
    }

    /**
     * @return line_id
     */
    public String getLineId() {
        return lineId;
    }

    /**
     * @param lineId
     */
    public void setLineId(String lineId) {
        this.lineId = lineId;
    }

    /**
     * @return line_name
     */
    public String getLineName() {
        return lineName;
    }

    /**
     * @param lineName
     */
    public void setLineName(String lineName) {
        this.lineName = lineName;
    }

    
}